from sqlalchemy import Boolean, Column, String
from app.models.base import Base

class User(Base):
    """
    用户模型
    """
    # 用户基本信息
    username = Column(String(50), unique=True, index=True, nullable=False)
    email = Column(String(100), unique=True, index=True, nullable=False)
    hashed_password = Column(String(100), nullable=False)
    
    # 用户状态
    is_active = Column(Boolean, default=True)
    is_superuser = Column(Boolean, default=False)
    
    # 用户配置
    deepseek_api_key = Column(String(100), nullable=True)
    preferences = Column(String(1000), nullable=True)  # JSON字符串存储用户偏好设置
    
    def __repr__(self):
        return f"<User {self.username}>" 